home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 4 / Precision Software Applications Silver Collection Volume 4 (1993).iso / new / psedt32a.arj / PSEDIT.DOC < prev    next >
Text File  |  1993-07-29  |  37KB  |  784 lines

  1.                                     PSEDIT
  2.                               Binary File Editor
  3.                                  USER'S GUIDE
  4.  
  5.                   Copyright 1990, 1993 by Gary C. Crider and
  6.                                Parity Solutions
  7.                                
  8.  
  9.  
  10. TABLE OF CONTENTS:
  11.  
  12.         What is PSEDIT? .................................. 1.0
  13.         Getting started .................................. 2.0
  14.           The SET PSEDIT= Environment Variable ........... 2.1
  15.           The PSEDIT Command Line ........................ 2.2
  16.         Operational notes ................................ 3.0
  17.         The Keyboard and Display ......................... 4.0
  18.         Modifying Data ................................... 5.0
  19.           Filling a block of data ........................ 5.1
  20.         Deleting Data .................................... 6.0  
  21.         Inserting Data ................................... 7.0  
  22.         Using the clipboard (Cut, Paste, Copy) ........... 8.0
  23.         Locating Data .................................... 9.0
  24.           Go to a Position in the File ................... 9.1
  25.           Search for Data ................................ 9.2
  26.         Print the File ................................... 10.0
  27.         Save the File .................................... 11.0
  28.         Exiting PSEDIT ................................... 12.0
  29.         Help ............................................. 13.0
  30.         A Useful Example - 
  31.           Modification of DOS 5's EDIT ................... 14.0
  32.         Installation ..................................... Appendix A
  33.         Disclaimer ....................................... Appendix B
  34.         Support .......................................... Appendix C
  35.         Registration ..................................... Appendix D
  36.  
  37.  
  38. 1.0 What Is PSEDIT?
  39.  
  40.    One thing most of us learned early while working on our first PC
  41. was that EDLIN, while useful, stank (stunk?)... was malodorous as an editor 
  42. of text files.  Soon there were hundreds of full screen text editors 
  43. available everywhere.  Even Microsoft finally came around and included EDIT 
  44. in DOS 5 to get us away from EDLIN.
  45.  
  46.    An early lesson that most who aspire to be power users learn is that not
  47. all changes we desire to make are in text files.  Sooner or later we end
  48. up patching an executable program, database, or strange format file that
  49. text editors will not handle.  Enter DEBUG.  Just as EDLIN was a pain for
  50. editing text files, DEBUG is a pain for editing binary files.  Strangely,
  51. few people have jumped out with binary editors and some of the few I have 
  52. seen are not much better than DEBUG.  
  53.  
  54.    PSEDIT is a very easy-to-use full screen editor for binary (or text) 
  55. files.  You simply type over the hex or ASCII data much as you would with
  56. any text editor.  PSEDIT ensures that you enter hex characters (0-9 and A-F)
  57. while you are in hex entry mode.  You will be able to see the hex and ASCII
  58. representations at all times whether you are editing in hex or ASCII.  
  59.  
  60.    Using PSEDIT is so intuitive, I don't know why I'm writing this documen-
  61. tation or why you are reading it.  Perhaps we both like to move cautiously.
  62.  
  63.    You see a full screen of data at all times, not just a few bytes.  Paging
  64. through the file is as easy as hitting PgUp and PgDn, you don't have to
  65. enter hex displacements to get to the next page.
  66.  
  67.    I think you'll find, as we have at a Fortune 100 company (my day job),
  68. that PSEDIT becomes one of the handiest tools you have.  You will use it
  69. much more than you now expect that you will.
  70.  
  71.    PSEDIT automatically detects and uses any available LIM 4.0 EMS expanded
  72. memory.  This allows very large files to be edited.
  73.  
  74.    PSEDIT was formerly distributed under the name BEDIT.
  75.  
  76.  
  77. 2.0 Getting Started
  78.  
  79. 2.1 The SET PSEDIT= Environment Variable
  80.  
  81.  
  82.    PSEDIT uses an environment variable and command line switches to customize
  83. its environment.  When PSEDIT is started with no switches and no environment
  84. variables, the following defaults apply:
  85.  
  86.   - EMS memory is used only if the file being edited is too large to load
  87.     in conventional memory.
  88.  
  89.   - Color display is assumed.
  90.  
  91.   - International characters are not displayed in the ASCII portion of the
  92.     edit screen.  They can only be entered in hex and cannot be entered in
  93.     an ASCII search string.
  94.  
  95.   - Video writes to the edit window are direct to video memory.  CGA and MDA 
  96.     are unsupported, since it is assumed that video memory starts at 
  97.     B800:0000.
  98.  
  99.    Each of these can be changed.  Since a user will normally want to use
  100. the same options over and over, the best way to change them is with the
  101. SET PSEDIT= command placed in AUTOEXEC.BAT.  The following parameters are
  102. allowed in the SET PSEDIT= command:
  103.  
  104.    EMS -  This forces the program to be edited to be loaded in expanded
  105.           memory (LIM 4.0 EMS specification).  The primary use for this 
  106.           parameter is for testing changes made to the PSEDIT program.  
  107.           Most users will want to use the default.  EMS may be specified
  108.           to allow additioinal file expansion with insertions.  Since you 
  109.           are limited by the amount of conventional or EMS memory available,
  110.           you may have access to more EMS memory than conventional memory.
  111.  
  112.    MONO - Displays the screens in monochrome.  If you use a Monochrome
  113.           Display Adapter instead of a VGA adapter, you will need to
  114.           also specify BIOS.
  115.  
  116.    INTL - Allows display of the ASCII international character set (128-
  117.           168).  It also allows international characters to be input while
  118.           editing in ASCII mode and in ASCII search strings.
  119.  
  120.    GRPH - Allows display of the ASCII international character set (128-
  121.           168) plus graphics characters (169-254).  
  122.  
  123.    BIOS - Uses the RAM BIOS interrupts to write to the edit window.  This
  124.           allows use of MDA, CGA and other non-VGA adapters.  It may also
  125.           be required for some extended text modes, depending on the
  126.           video adapter being used.  Specify BIOS if you expirience any
  127.           problems with the display of data in the edit window.
  128.  
  129.    To specify combinations of these parameters, seperate them with commas.
  130. Example:
  131.  
  132.    SET PSEDIT=MONO,BIOS,INTL
  133.  
  134.    Place the set command in your AUTOEXEC.BAT file so that it will always
  135. be present in your environment.  If you encounter an "Out of environment
  136. space" message, you can increase you environment size by specifying a new
  137. amount in your CONFIG.SYS file with the following statement"
  138.  
  139.    SHELL=c:\command.com /P /E:nnnn
  140.  
  141.    The nnnn should be replaced with the new environment space required.  512
  142. will give you quite a bit of space to work with.  If you use Microsoft 
  143. Windows 3.1, a value of 1024 or higher is recommended.
  144.    
  145.    For compatibility with BEDIT, the BEDIT= environment variable is also 
  146. accepted.
  147.  
  148.  
  149. 2.2 The PSEDIT Command Line
  150.  
  151.  
  152.    Format: PSEDIT [[path]filename] [/N] [/B] [/I] [/V /?] 
  153.  
  154.    The filename is the file name of the file that you want to edit.  PSEDIT 
  155. does not make an automatic backup, so back it up if you think there could    
  156. be problems.  You will be given a chance to change the file name before you
  157. save it.  The path is required if a file is specified and is not in the 
  158. current directory.  
  159.  
  160.    If no file name is specified, a pick list is displayed of all of the 
  161. files in the current directory.  To select a file, use the arrow keys to
  162. move the selection bar to the file you want, and press enter.
  163.    
  164.    /? Display command line help prompt.
  165.    
  166.    /N will cause PSEDIT to ignore the EMS parameter if it was specified in
  167.       the SET PSEDIT= command.  No attempt will be made to use EMS memory.
  168.  
  169.    /B reverses the effect of the MONO parameter of the SET PSEDIT= command.
  170.       If you have specified MONO, /B forces color display.  If you have
  171.       not specified MONO, back and white (monochrome) display is forced.
  172.  
  173.    /I reverses the effect of the INTL parameter of the SET PSEDIT= command.
  174.       If you have specified INTL, /I will cause international charcters to
  175.       not be recognized.  If you have not specified INTL, /I forces recog-
  176.       nition of international characters.
  177.  
  178.    /G reverses the effect of the GRPH parameter of the SET PSEDIT= command.
  179.       If you have specified GRPH, /G will cause international and graphics 
  180.       charcters to not be recognized.  If you have not specified GRPH, /G 
  181.       forces recognition of international and graphics characters.
  182.  
  183.    /V reverses the effect of the BIOS parameter of the SET PSEDIT= command.
  184.       If you have specified BIOS, /V will force direct video memory writes
  185.       for the edit window.  If you have not specified BIOS, /V will force
  186.       BIOS writes.
  187.  
  188.  
  189.    Brackets ([]) indicate optional parameters.  Do not include the brackets
  190. in the command line.
  191.  
  192.    
  193.  
  194. 3.0 Operational Notes   
  195.  
  196.    It bears repeating at this point that PSEDIT DOES NOT MAKE AN AUTOMATIC
  197. BACKUP of the edited file.  Since much of the usefulness of PSEDIT is to just
  198. view or print the contents of a binary file, I did not want PSEDIT cluttering
  199. up my directories with backup files.  You can, however, change the name 
  200. at SAVE time.
  201.  
  202.    If you intend to modify a file with PSEDIT, I highly recommend making
  203. a backup file first or saving with a different name for obvious reasons.  
  204. Since PSEDIT will allow you to change any file in any way, it is obviously 
  205. a very dangerous weapon in the hands of the unskilled or careless as well 
  206. as a very powerful tool in the hands of the skilled and careful.  Please 
  207. be careful!
  208.  
  209.    PSEDIT reads the entire file into memory before any edits are performed.
  210. All changes are made only to the copy in memory until a SAVE is done.  If
  211. you have LIM 4.0 compatible EMS memory, you are limited in editable file size
  212. to the amount of free expanded memory.  If you have no expanded memory, or
  213. use the /N parameter, the file is loaded into conventional memory.  Depending
  214. on your memory configuration, you should be able to load a file of 400-500 
  215. Kbytes without the use of expanded memory.  If your available expanded
  216. memory is less than your available conventional memory, use the /N option
  217. to load larger files.  Usually there is more expanded memory than conven-
  218. tional, so excluding the /N option allows larger files to load.
  219.  
  220.    PSEDIT must have at least one byte in its data buffer to function,
  221. therefore, if you load a file with a length of 0, or delete all bytes in a
  222. file, one byte will show up on the screen and its value will be x00.
  223.  
  224.    PSEDIT has three different display modes and three different ways of 
  225. selecting the one you prefer.  The normal default mode is to display U.S. 
  226. English characters and punctuation.  The second adds international characters 
  227. and the third adds graphics characters.  If you wish to change the default, 
  228. use the SET command described in the "Getting Started" section.  If you want 
  229. to change the initial mode for a single execution of PSEDIT, use the command 
  230. line switches /I or /G as described under "Getting Started."  If you want to 
  231. change the characters displayed after you have already loaded PSEDIT, use the 
  232. ALT-I and ALT-G toggles as described below under "The Keyboard and Display."
  233.  
  234.   The reason the U.S. English letters and puctuation were selected as the 
  235. default is first because most of the PSEDIT users are in the U.S., and
  236. second, because when most users refer to the ASCII portion, they are looking 
  237. for a particular text string or phrase.  Not displaying the graphics and
  238. international characters makes the phrase or word easier to spot.  If you
  239. know exactly what you are looking for, use the search feature to locate it
  240. quickly.  International users should not feel slighted, because you can 
  241. easily change the default to display international characters.  Unfortunately,
  242. you must display all international characters, not just the ones used in
  243. your language.
  244.  
  245.  
  246.  
  247. 4.0 The Keyboard and Display
  248.  
  249.    The top line of the display shows the name, size, date and time of the
  250. file being edited.  It also contains the status of EMS memory usage and
  251. shows whether coses-sensitivity is set on or off.  There is also an area
  252. that will taggle between "HEX" and "ASCII" depending on which edit mode
  253. you are in.  The bottom line contains a quick reference of function keys
  254. and their usage.
  255.  
  256.    There are two modes of editing in PSEDIT.  When you first load a file, the
  257. screen appears with both hex data and its ASCII representation displayed in 
  258. separate sections of the screen.  The cursor is initially placed in the hex 
  259. portion of the screen for editing in hex.  The character (represented by two 
  260. hex digits) at the cursor location appears red on color monitors.  The same 
  261. character on the ASCII (right) side will be light cyan.  All other data 
  262. characters are yellow.  As the cursor moves, you will see the light cyan 
  263. highlighting on the ASCII display move with the cursor and red letters of the 
  264. hex display.  Pressing TAB places the cursor in the ASCII portion and the 
  265. display at the cursor becomes red.  The corresponding position in the hex 
  266. data becomes light cyan.  TAB toggles the cursor back and forth between the 
  267. two editing areas.
  268.  
  269.    The ASCII display does not display every displayable character, but only
  270. letters and numbers and the more common punctuation symbols that are common
  271. to most printers.  All other characters appear as periods.  You can only 
  272. enter these characters on the ASCII side.  To enter exotic characters you 
  273. must use the hex representation on the hex side.  If a blank appears on the
  274. ASCII display, it is  because there is a true blank (hex 20) at that position.
  275.  
  276.    The following keys function as shown during editing:
  277.  
  278.    Page Down    - Display the next page of data.
  279.    Page Up      - Display the previous page of data.
  280.    Home         - Position the cursor at the start of the file.
  281.    End          - Position the cursor at the end of the file.
  282.    Down Arrow   - Move the cursor down one line.
  283.    Up Arrow     - Move the cursor up one line.
  284.    Right Arrow  - Move the cursor right one byte.  If at the end of a line, 
  285.                   move to the first byte of next line.
  286.    Left Arrow   - Move the cursor left one byte.  If at the start of a line,
  287.                   move to the last byte of the previous line.
  288.    Enter        - Same as right arrow.
  289.    Tab          - Swap the edit cursor between hex and ASCII modes.
  290.    Back Tab     - Clears the byte.  You must then type something in the byte
  291.                   before the cursor can be moved.
  292.    Insert       - Insert one byte.  Everything beyond this byte is shifted one 
  293.                   position and a hex 00 byte is inserted at the cursor.
  294.    Delete       - Delete one byte at the cursor.
  295.  
  296.    Function keys:
  297.  
  298.    F1     - Display the help screen.
  299.    F2     - Save any changes to the file on disk.
  300.    F3     - Insert a specified number of bytes at cursor.
  301.    F4     - Delete a specified number of bytes at cursor.
  302.    F5     - Move the cursor to a specified address within the file.
  303.    F6     - Print the file to LPT1:.  It appears in basically the same format
  304.             as displayed.
  305.    F7     - Toggle case-sensitivity for ASCII string searches.
  306.    F8     - Specify a search argument and locate the first occurrence of it in
  307.             the file.
  308.    F9     - Locate the next occurrence of the search argument.
  309.    F10    - Display status of clipboard and blocked data.
  310.    
  311.    
  312.    Alt keys:
  313.  
  314.    ALT-X  - Exit PSEDIT.
  315.    ALT-V  - Toggle between 25-line and 43/50 line display modes.
  316.    ALT-F6 - Print an address range.
  317.    ALT-I  - Toggle displaying of international characters.
  318.    ALT-G  - Toggle displaying of international and graphics characters.
  319.    
  320.    Block keys:
  321.  
  322.    CTL-K B - Mark the start of a block to be deleted.
  323.    CTL-K K - Mark the end of a block to be deleted.
  324.    CTL-K H - Unmark a currently marked block.
  325.    CTL-K F - Fill a block with a given value.
  326.  
  327.    Clipboard function keys:
  328.  
  329.    CTL-INS  - Copy blocked data to clipboard.
  330.    CTL-DEL  - Cut bloacked data from the file and into the clipboard.
  331.    SHFT-INS - Paste clipboard contents at current cusor location.  The
  332.               contents are inserted.  Existing data is not overlaid.
  333.  
  334.    ESCAPE - Exit PSEDIT.
  335.  
  336.  
  337.  
  338. 5.0 Modifying Data
  339.  
  340.    Modifying data is very simple, just type over it.  Use the TAB key to 
  341. select the hex or ASCII area.  A MODE indicator on the top line will change 
  342. to indicate whether you are in hex or ASCII edit mode.  When typing in the 
  343. hex area, only valid hex characters, 0-9 and A-F are allowed and upper case 
  344. is forced.  When entering data in the ASCII portion, only common printable 
  345. characters are allowed and upper or lower case may be used.
  346.  
  347.  
  348. 5.1 Filling a block of data   
  349.  
  350.    You may mark a block of data (see Deleting Data below) and then press
  351. CTL-K F.  You will be prompted for a fill value (in HEX or ASCII depending 
  352. on your edit mode) to overlay the contents of the blocked data. You may press 
  353. ESCAPE at the prompt to abort the fill operation.  Once you enter the value 
  354. and press enter, the blocked data is filled with the value you specified.
  355.  
  356.  
  357. 6.0 Deleting Data
  358.  
  359.    First place the cursor on the first byte of the data that you want to 
  360. delete.  Pressing the DELETE key deletes one byte of data at this position.
  361. Press DELETE repeatedly to delete several bytes.  If a large block needs to
  362. be deleted, press the F4 key and reply to the prompt with the number of bytes 
  363. you want to delete starting with the byte at the cursor.
  364.  
  365.    There is also a facility to mark a block and then delete it.  Press 
  366. CTL-K B to mark the first byte of a block, then press CTL-K K to mark the
  367. last byte of a block.  Then press DELETE or F4 to delete the block.  You
  368. can unmark a block by pressing CTL-K H.  You can also change the start or 
  369. end of the block at any time before the block is deleted or unmarked.  These 
  370. keys conform to WordStar-type conventions used in many text editors and word 
  371. processors today.  You can mark and delete blocks up to 32,767 bytes long.
  372.  
  373.    PSEDIT cannot handle a file with no data.  If you delete all bytes in the
  374. file, PSEDIT will display a file with one byte of x00.
  375.  
  376.  
  377. 7.0 Inserting Data
  378.  
  379.    PSEDIT, rather than using an insert mode, lets you insert bytes of binary 
  380. zeros, hex 00, into the file.  You can then type over the inserted bytes with 
  381. the data that you require.
  382.  
  383.    Place the cursor at the byte where you want the data inserted.  The data
  384. is inserted BEFORE the byte at the cursor.  Pressing the INSERT key inserts 
  385. one byte at a time.  If a large block needs to be inserted, press F3 and 
  386. specify the number of bytes you want inserted.  Once the null bytes appear,
  387. type over them if necessary.
  388.  
  389.    In order to add bytes to the end of the file, press END to go to the last
  390. byte of the file then press the right arrow.  Each press of the right arrow
  391. adds a byte to the file.  To enter a large block at the end of the file,
  392. press the right arrow once, then press F3 and specify the number of bytes
  393. needed less one (since you already added one when you pressed the right
  394. arrow).
  395.  
  396.    You can insert data from the clipboard by placing the cursor where you
  397. want the inserted data to begin and pressing SHIFT-INSERT.  If the clipboard
  398. is empty, nothing will happen.  Otherwise, the new data will appear inserted
  399. at the cursor location and marked as a block.  This is so that if you made a
  400. mistake and placed it improperly, you can just press DELETE to delete it,
  401. reposition your cursor and hit SHIFT-INSERT again to reinsert it.  Press
  402. CTL-K H to unmark the block.  The data remains in the clipboard, so it can 
  403. be inserted at multiple locations.
  404.  
  405.  
  406.  
  407. 8.0 Using the Clipboard (Cut, Paste, Copy)
  408.  
  409.    PSEDIT contains a 4k clipboard for use in cutting, pasting and copying
  410. marked blocks. The clipboard uses CUA keyboard conventions.
  411.  
  412.    First, mark a block of data (see Deleteing Data for instructions on
  413. marking blocks), then press CTRL-INSERT to copy the block to the clipboard.
  414. Press SHIFT-DELETE if you want to copy the block to the keyboard and 
  415. delete it from its current position in the file (Cut).
  416.  
  417.    Once you have cut or copied data into the clipboard, you may paste 
  418. (insert) it anywhere in the file by using SHIFT-INSERT.  See Inserting Data
  419. for details on using the paste feature.
  420.  
  421.    If you try to cut or copy a block that is greater than 4k (4096 bytes),
  422. a message window will pop up and the current block marks must be adjusted
  423. to select only 4k or less at a time.
  424.   
  425.  
  426.  
  427. 9.0 Locating Data
  428.  
  429.    There are basically three ways to move the cursor to an area you want
  430. to edit.
  431.  
  432.    First you can use Page Down and Page Up to visually look for that area you
  433. want.  Primitive, but effective.
  434.  
  435.    Second, if you know the offset into the program of the area you want to 
  436. modify, press F5 and type the offset in hex.  
  437.  
  438.    The third method is to let the computer search for a known byte config-
  439. uration.
  440.  
  441.  
  442.  
  443. 9.1 Go to a Position in the File
  444.  
  445.    An offset or displacement is measured from the start of the file.  The
  446. first byte is offset 0, the second is 1, etc.  When you press F5, you are
  447. prompted for an offset which you provide in hex.  The cursor is then placed 
  448. at that address and display is updated to show the data at the cursor.
  449.  
  450.    This method is often used in applying documented patches supplied by a 
  451. software vendor.
  452.  
  453.  
  454.  
  455. 9.2 Search for Data
  456.  
  457.    Pressing F8 pops up a dialogue box that requests entry of a search argument.
  458. After supplying this argument, the cursor is positioned to the first 
  459. occurrence of that value in the file.  If it is not found, the cursor will 
  460. appear on the last byte of the file.  If a first occurrence is found, pressing
  461. F9 searches for the next occurrence.  If a second is found, pressing F9 again
  462. searches for the third occurrence, and so on.
  463.  
  464.    If the cursor is in the hex editing area, you will be prompted for up to
  465. 16 hex bytes of search argument (32 hex digits).  When the cursor is in
  466. the ASCII editing area, you may enter up to 32 ASCII characters for a search
  467. argument.  Admittedly the search arguments are small, but I have found that
  468. when editing binary files, you are generally not looking for long strings.
  469.  
  470.    Hex data is normally entered in sets of two hex digits (nibbles) since it
  471. takes two hex digits to represent one byte.  If you enter an odd number of hex 
  472. digits, a zero nibble is prepended to the argument.  For example, if you
  473. enter 18A, the resulting two bytes that are located are 01 8A.  
  474.  
  475.   No byte swapping is ever done to accommodate the PC's low-high storage 
  476. scheme of integer data.  So if you are looking for an integer value of 
  477. 1000 (decimal), hex 3E8, which is stored as hex E8 03, the search argument 
  478. you would provide is E803.  If you don't have a clue what this means, you 
  479. probably don't need to be concerned about using PSEDIT in this manner.
  480.  
  481.   The F7 key is used to enable or disable case-sensitive searches when in
  482. ASCII character mode.  The current state is shown on the top line of the 
  483. display.  If ON, upper/lower case letters must match exactly.  If OFF,
  484. upper and lower case letters are equivalent.  The CASE mode has no effect
  485. on hex mode searches.
  486.  
  487.  
  488.  
  489. 10.0 Print the File
  490.  
  491.    Printing the file is easy.  You just press F6 and a window will pop up
  492. that tells you how many pages will be printed.  You may abort at this time
  493. by pressing ESCAPE or replying N to the "Continue? (Y/N)" prompt.  As pages
  494. are sent to the printer, the page number will be displayed.  You may press
  495. any key to cancel printing at the end of the current page.
  496.  
  497.    The output is sent to standard print (PRN).  The format is side-by-side 
  498. hex/ASCII like that displayed on the screen with offset addresses (dis-
  499. placements) at the start of each line.  880 (hex 370) bytes are printed on 
  500. each page.  The pages are numbered and the file name, size, date and time 
  501. appear at the beginning of each page.
  502.  
  503.    ALT-F6 allows you to supply a starting and ending address range to print.  
  504. The actual pages printed will probably not start and end with the adresses 
  505. you provided.  Rather the pages (as if you had printed the entire file) that 
  506. contain your starting address through your ending address will be the only
  507. pages printed.
  508.  
  509.    
  510.  
  511. 11.0 Saving the File
  512.  
  513.    Prior to pressing F2 to save the file, all modifications are only done in 
  514. memory.  F2 writes the image in memory over the file that was originally 
  515. loaded, and the changes become permanent.
  516.  
  517.    You may, however, change the file name at save time.  A dialogue box will
  518. appear with the current file name.  Accept it as is by pressing ENTER or
  519. modify it first.
  520.  
  521.    If the saved file name already exists you will be asked for verification
  522. before overwriting.
  523.  
  524.  
  525. 12.0 Exiting PSEDIT
  526.  
  527.    To quit PSEDIT and return to DOS, press ESC from the main edit screen.
  528. You will see a prompt: "Exit to DOS (Y/N)".  Any response other than Y or
  529. y will return you to the point you were when you pressed ESC.  A Y response
  530. returns you to DOS.
  531.  
  532.    If you wish to exit PSEDIT without having to reply to the prompt, press
  533. ALT-X for a quick exit.  Any modifications since the last save are lost.
  534.  
  535.  
  536. 13.0 Help
  537.  
  538.    Pressing F1 pops up a help screen describing the editing and function keys.
  539. Pressing ESCAPE (or any key when last page is displayed) removes the help
  540. window and returns you to the editor.  Page Down and Page Up can be used to 
  541. move between help pages.
  542.  
  543.  
  544.  
  545. 14.0 A Useful Example - Modification of DOS 5's EDIT
  546.  
  547.    I prefer DOS 5's EDIT command by leaps and bounds over the EDLIN of
  548. previous DOSes, but there is one thing I especially don't like about it.
  549. When you select File/Open, it comes up with a default file list specification
  550. of *.TXT, like that is the only extension ever used for ASCII text files.  I
  551. would prefer *.* and let me choose from all of my files.  After reviewing
  552. all of the options, it appeared to me that there was no way to set this
  553. value to *.*.
  554.  
  555.    My next thought is that since there doesn't appear to be any type of
  556. configuration file for EDIT, the *.TXT string must be in the program, so
  557. I'll just pull out my trusty PSEDIT and zap it to *.*.  Let's do it.
  558.  
  559.    Go to your directory where you keep DOS (usually C:\DOS).  Type PSEDIT
  560. EDIT.COM.  Since we know we are looking for an ASCII string of *.TXT, press
  561. TAB to swap the cursor to the ASCII area and press F8 to search.  Enter
  562. *.TXT and press ENTER.  You now find that your cursor is positioned on the 
  563. last byte of the file.  This means it didn't find the string we were
  564. looking for.  Strange.
  565.  
  566.    But look! Right above our cursor are some messages that EDIT.COM displays.
  567. One of them reads, "Can not find file QBASIC.EXE."  Oh yeah, I read somewhere
  568. that the EDIT editor with DOS 5 was a version of the QBASIC editor.  Let's
  569. press ESCAPE, answer 'Y' and get back to the DOS prompt.  Now let's enter
  570. PSEDIT QBASIC.EXE.
  571.  
  572.    Again let's go the ASCII area with TAB and search for *.TXT with F8.  
  573. Bingo! We found it.  
  574.    
  575.    In my copy of DOS 5.0's QBASIC.EXE, I am now at a displacement of hex 
  576. 3BCCA into the program and the cursor is positioned on the * of string *.TXT.  
  577. Hit the right arrow twice to position the cursor on the first T.  Type an 
  578. asterisk (*).  The string now shows *.*XT and the cursor is on the X.
  579. Lets change the X and T to hex 00s, which in most languages is used to 
  580. terminate a string.  Since we can't enter a binary zero field in the ASCII
  581. area, press TAB to switch the cursor back to the hex area.  Now type
  582. four 0s.  As you can see you have now changed the XT characters from
  583. hex 54 58 (the hex representation of X and T) to hex 00 00.
  584.  
  585.    This is what we wanted to do, so now let's save the file by pressing
  586. F2.  Since the file was not backed up beforehand, type in a new file name
  587. (QBASIC.1) just to make sure it works before we destroy the original. Exit 
  588. to DOS by pressing ESCAPE and Y.  Rename the original to QBASIC.BAK and 
  589. QBASIC.1 to QBASIC.EXE.  Now type EDIT and go to the File/Open screen.  Lo 
  590. and behold!  It now reads *.* and all of the files in the current directory 
  591. are displayed in the pick list.
  592.  
  593.    You can go delete QBASIC.BAK now.
  594.  
  595.  
  596.  
  597. APPENDIX A
  598.  
  599. Installation
  600.  
  601.     PSEDIT is distributed in a ZIP file called PSEDIT.ZIP.  It contains the
  602. following files:
  603.  
  604.         PSEDIT.EXE         The executable file for PSEDIT.
  605.         PSEDIT.DOC         The documentation file.
  606.         PSEDIT.HST         Modification descriptions for previous versions
  607.                            of PSEDIT. 
  608.         PSEDIT.Vnn         Modification descriptions for current version nn.
  609.         PRODUCTS.DOC       A description of other Parity Solutions products
  610.                            available on CompuServe and ZiffNet.
  611.  
  612.     For best results, unzip the file into a directory on your PATH.  If you
  613. don't use a directory in your path, you will have to designate the directory
  614. containing PSEDIT.EXE when executing the program.
  615.  
  616.     If you have a utility directory that is on your PATH, this is an excellent
  617. location for PSEDIT.  An example installation would be:
  618.  
  619.     C:
  620.     CD \UTIL
  621.     COPY [path]PSEDIT.ZIP
  622.     PKUNZIP PSEDIT
  623.     DEL PSEDIT.ZIP
  624.  
  625.     The PKUNZIP program is by PKWARE, Inc. and is available in many CompuServe
  626. forums under the file name of PKZ110.EXE or PK204x.EXE.  Since you are reading 
  627. this doc file, you have obviously already managed to unzip the distribution 
  628. file.  If it is not currently in your path, simply copy all of the files to a 
  629. directory in your path.  Keep the PSEDIT.ZIP file anywhere you like, but give 
  630. plenty of copies, as is, to your friends.  If you register PSEDIT, you are not 
  631. licensed to give your serial number to anybody without first removing the 
  632. serialization from your copy.
  633.  
  634.  
  635.  
  636.  
  637. APPENDIX B
  638.  
  639.  
  640. Disclaimer
  641.  
  642. BECAUSE OF THE DIVERSE NATURE OF COMPUTER EQUIPMENT AND EXPERTISE OF USERS,
  643. PARITY SOLUTIONS AND GARY C. CRIDER MAKE NO WARRANTY ON THE PSEDIT PROGRAM
  644. WHATSOEVER, EXPRESS OR IMPLIED.  THE USER ASSUMES ALL RISK OF DAMAGE TO DATA 
  645. OR EQUIPMENT RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OR MISUSE OF THIS 
  646. PROGRAM PRODUCT.  THE USER MUST BE AWARE THAT USING PSEDIT TO MAKE ALTERATIONS 
  647. TO PROGRAMS OR DATA CAN RENDER THAT PROGRAM OR DATA USELESS.
  648.  
  649. USERS ARE ADVISED TO TEST MODIFICATIONS MADE WITH PSEDIT THOROUGHLY ON FILES 
  650. FOR WHICH A BACKUP EXITS.  ANY LIABILITY OF THE AUTHOR OR PARITY SOLUTIONS IS 
  651. LIMITED TO REPLACEMENT OR REFUND OF THE REGISTRATION FEE.
  652.  
  653.  
  654.  
  655.  
  656. APPENDIX C
  657.  
  658.  
  659. Support
  660.  
  661.     I have tried to test the program to the fullest, but I am limited as to
  662. systems and configurations with which to test.  I have been programming for 18
  663. years and the one thing I know for sure is that bug free programs are very few
  664. and far between.  I can only promise to support the program to the best of my
  665. ability and provide fixes as expeditiously as possible.  PSEDIT has been used
  666. at my home and work site extensively for several years and has proven to be a
  667. reliable tool.
  668.  
  669.     Anyone can report problems and suggest changes.  Registered users get top
  670. priority in resolving their problems.  There are three ways you can report
  671. problems.  The preferred method is to contact me through CIS mail (not forum
  672. messages).  My CIS ID is 71760,3413.  You can also write me at:
  673.  
  674.    Gary C. Crider
  675.    Parity Solutions
  676.    1105 Burgess Court
  677.    Arlington, TX 76015
  678.  
  679.    After 10/31/93 we will move to:
  680.  
  681.    1903 Pavia Court
  682.    Arlington, TX 76006
  683.  
  684.     The last method is to phone (817) 467-7818.  Since I am the sole technical
  685. support and the line is also used for my network consulting business, it is
  686. often hard to get through to me.  Please call and leave a message between 7:30
  687. am and 5:30 pm Central time.
  688.  
  689.     No matter which method you use, please give a brief description of your
  690. problem, the relaese number of your program, your registration serial number 
  691. if you are registered, and your phone number.  If I need more information, I 
  692. will contact you as soon as I can.  When I have a solution, I will contact 
  693. you however you prefer.
  694.  
  695.     I work full time, have a consulting business to run in my spare time and
  696. write programs instead of sleeping.  So please be a little patient with me.
  697.  
  698.     Program updates are available on CompuServe or can be requested from us
  699. for a $5 shipping and handling charge.  Add $1 for international shipping
  700. outside the North American continent.  A distribution disk of all Parity 
  701. Solutions products will be sent to you.  Specify disk size and format.
  702.  
  703.  
  704.  
  705. APPENDIX D
  706.  
  707.  
  708. Registration
  709.  
  710.  
  711.     I begin with an apology.  I hate programs that in any way inhibit func-
  712. tionality or performance for the shareware version.  But when it came down to
  713. feeding the family and paying the bills, I had a change of heart and inserted
  714. a pesky notice that pops up at the beginning and gets on your nerves.  I
  715. chose this approach above that of limited functionality.  The program's full
  716. capabilities are available for you to evaluate before you invest your hard-
  717. earned money.
  718.  
  719.     Registered users will receive a unique serial number and instructions on
  720. how to serialize the program.  Serialization can be re-applied to updated
  721. versions and in no way hinders your use of the program.  You can compress or
  722. decompress the program with no effect (LZEXE or PKLITE).  I use Fabrice
  723. Bellard's LZEXE program on PSEDIT.EXE before distribution.
  724.  
  725.     As a registered user, you will be able to update without re-registration
  726. or additional fees.
  727.  
  728.     To register your copy, please send $24 US ($95 per file server on LANs) 
  729. check or money order (sorry, no credit cards yet) to:
  730.  
  731.    Gary C. Crider
  732.    Parity Solutions
  733.    1105 Burgess Court
  734.    Arlington, TX 76015
  735.  
  736.    After 10/31/93 use:
  737.  
  738.    1903 Pavia Court
  739.    Arlington, TX 76006
  740.  
  741.     Or, you can register single-use licenses online quickly and easily in 
  742. Compuserve.  Simply GO SWREG and register ID #751.  Your registration will be 
  743. added to your Compuserve bill.  International exchange was never easier. 
  744.  
  745.     If you send your CIS ID or register via SWREG, your registration will be 
  746. sent to you via CIS mail, along with instructions on how to serialize your copy 
  747. of PSEDIT.  This usually involves one day or less turnaround.
  748.  
  749.     Program diskettes are not ormally shipped.  Normal distribution is via 
  750. CompuServe.  If you need a diskette, please see the instructions under Support 
  751. above.  You will receive a serial number and instructions for serializing your 
  752. copy of the program.
  753.     
  754.     Each license gives you or your company a single use permit for PSEDIT. It 
  755. is not restricted to a single machine as long as no two users can be simul-
  756. taneously using the program.  As Borland says, "treat it like a book."  As an 
  757. example, if you register PSEDIT for your home computer, but during the day you 
  758. use a portable or a computer at work,  you may keep PSEDIT on both machines as 
  759. long as no one is at home using it on your home computer.
  760.  
  761.     LAN licenses grant rights to all users of a file server.  If inter-
  762. networking, a license must exist for each file server that contains a copy
  763. of PSEDIT.EXE.  If two or more file servers exist on a single LAN strictly for
  764. mirroring data and fault-tolerance, these will be counted as a single file
  765. server for licensing purposes.  If in doubt, contact me.  We can work out
  766. an agreement.
  767.  
  768.     Site licensing is also available on a negotiated price basis.  I guarantee
  769. it will be an economical alternative to buying licenses for each user.
  770.  
  771.     You may freely distribute the original PSEDIT.ZIP file in any way you see
  772. fit other than selling it.  Users' groups and shareware distribution services
  773. may charge a reasonable fee for the medium and duplication costs.  Bulletin 
  774. boards may not charge additional fees for downloading this specific program, 
  775. other than normal connect-time and/or membership charges.
  776.  
  777.     You are NOT licensed to give anyone your serial number unless you first
  778. remove all serialization from your computer.  You may then no longer use that
  779. serial number.  Only Parity Solutions has the authority to issue serial
  780. numbers.
  781.  
  782.     Licensees of Parity Solutions' BEDIT program may serialize PSEDIT by
  783. renaming BEDIT.SER to PSEDIT.SER.
  784.